The present invention generally relates to data communications and more specifically to a system and method for providing messaging between a first communication device and a second communication device in separate sessions.
Many different telephony protocols exist. For example, devices may be communicating in any combination of a session initiation protocol (SIP), channel associated signaling (CAS), integrated services digital network (ISDN), signaling system 7 (SS7), CAS Ear and Mouth (E&M), CAS E&M revision 2 (R2), H.323, or any other non-ISDN like protocol. Each of these protocols provide different messages that are sent between devices. With various devices configured to communicate in different protocols, the situation where devices communicating in different protocols must communicate is likely to happen. In most cases, messages from one protocol do not directly map to messages in another protocol. That is, the protocols do not simply send messages with essentially the same meaning at the same time in which case all that would be needed is a direct translation from one syntax to another. Accordingly, in order for devices operating a different telephony protocols to communicate, a proxy or gateway is needed that includes definitions and complicated coding to define how to translate from every supported protocol to every other supported protocol. In other words, if there are three supported protocols, #1, #2, and #3, there must be separate translations from protocol #1 to protocols #2 and #3; from protocol #2 to protocols #1 and #3; and from protocols #3 to protocols #1 and #2. Thus, a geometric fan-out of translations for each supported protocol is required.
The above approach includes many disadvantages. For example, in the case of a SIP protocol, a SIP conversion is typically only described for conversion to and from modern protocols such as SS7 and to protocols as old as ISDN. There are no provisions at all for conversion from SIP to CAS E&M, CAS R2, or any other non-ISDN protocol older than ISDN. Thus, providing the needed definitions and coding to convert from SIP to an older protocol would require many man hours and large amounts of money. Additionally, because each supported protocol must be translated between every other supported protocol, the amount of coding and definitions needed is large and expensive to maintain and support.
Also, even if the needed definitions and coding for the translation are implemented, when two devices communicate, a session is created where the devices communicate directly. Thus, both devices need to know the identity of each other because they must send messages directly to each other. With security being a growing concern among entities, communicating through a single session is undesirable because some entities would like to keep their identity anonymous to the other device.